import React from 'react'
import { Route ,Redirect} from 'react-router-dom'
import { useAuth } from '../context/AuthProvider'


const AuthRoute = ({authCheckType,component:Component,routes,...rest}) => {

    const {user} = useAuth();
   
    // 拦截 
    // 没有用户信息 无论怎样都只能在登录页面
    if(authCheckType==='authed'&& !Object.keys(user).length){   
        return <Redirect to='/login' />
    }
    // 有用户信息的 再回到登录页面 不需要验证 还会回到首页
    if(authCheckType==='unauthed'&& !!Object.keys(user).length){   
        return <Redirect to='/' />
    }
    return (
        <Route 
            render={
                (props)=><Component {...props} routes={routes} />
            }
            {...rest}
        />
    )
}

export default AuthRoute